package sort;

public class SelectSort {

    public static void main(String[] args) {
        int[] nums = new int[]{1,5,8,2,3,9,4};
        System.out.println("从小到大排序后的结果是:");
        int[] numbers = select(nums);
        for(int i=0;i<numbers.length;i++){
            System.out.print(numbers[i]+" ");
        }
    }

    /**
     * 1.遍历待排序数列，找到其中的最大值（或者最小值）。
     * 2.将该值与数列的最后一位（或者第一位）交换位置。
     * 3.再次遍历待排序数列，找到其中的找到其中的最大值（或者最小值）
     * 4.将该值与数列的倒数第二位（或者第二位）交换位置。
     * 5.重复上述操作，直到完成排序。
     * @param nums
     * @return
     */
    public static int[] select(int[] nums){
        int pos;
        int temp;
        for(int i=0;i<nums.length-1;i++){
            pos = 0;
            for(int j=1;j<nums.length-i;j++){
                if(nums[j] > nums[pos]){
                    pos = j;
                }
            }

            temp = nums[nums.length - 1 - i];
            nums[nums.length - 1 - i] = nums[pos];
            nums[pos] = temp;
        }

        return nums;
    }
}
